/*
 * @Descripttion: 
 * @version: 
 * @Author: 
 * @Date: 2022-04-24 09:01:49
 * @LastEditors: weidelong
 * @LastEditTime: 2022-05-10 16:05:23
 */
// 获取当前时间  年-月-日 时:分:秒
export function getCurrentTime() {
    let yy = new Date().getFullYear()
    let mm = new Date().getMonth() + 1
    let dd = new Date().getDate()
    let hh = new Date().getHours()
    let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMinutes()
    let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds()
    let gettime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
    return gettime
}

// 判断 今天/昨天/前天/n(天/月/年)前
export function formatDate(date) {
    const mistiming = Math.round((Date.now() - new Date(date).getTime()) / 1000)
    const tags = ['年', '个月', '星期', '天', '小时', '分钟', '秒']
    const times = [31536000, 2592000, 604800, 86400, 3600, 60, 1]
    for (let i = 0; i < times.length; i++) {
        const inm = Math.floor(mistiming / times[i])
        if (tags[i] === '天') {
            switch (inm) {
                case 0:
                    return '今天'
                case 1:
                    return '昨天'
                case 2:
                    return '前天'
                default:
                    return inm + tags[i] + '前'
            }
        }
        if (inm !== 0) {
            return inm + tags[i] + '前'
        }
    }
}

// 判断当前是几点  19点05分
export function dateState() {
    let date = new Date()
    let h = date.getHours()
    let m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
    return h + '点' + m + '分'
}

// 获取当日23：59：59时间
export function get_endtime() {
    let time_end = new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1);
    let time_format = format_date(time_end)
    return time_format;
}

// 获取当前时间的  年月日时分秒  的时间格式化 20191220100246
export function format_date(now) {
    let year = now.getFullYear(); //年
    let month = now.getMonth() + 1; //月
    let day = now.getDate(); //日
    let hh = now.getHours(); //时
    let mm = now.getMinutes(); //分
    let ss = now.getSeconds(); //秒

    let clock = year + "";
    if (month < 10) {
        clock += "0";
    }
    clock += month + "";

    if (day < 10) {
        clock += "0";
    }
    clock += day + "";

    if (hh < 10) {
        clock += "0";
    }
    clock += hh + "";

    if (mm < 10) {
        clock += '0'
    }
    clock += mm;

    if (ss < 10) {
        clock += '0'
    }
    clock += ss;

    return clock;
}

// 日期转时间戳 param形式必须是yyyy-MM-dd HH:mm:ss的形式，当然，也可以只是yyyy-MM-dd
export function timeStamp(time) {
    const date = new Date(time)
    return date.getTime()
}

// 获取n天前的日期 "yyyy-mm-dd"
export function getBeforeDayTime(n) {
    let date1 = new Date()
    let date2 = new Date(date1)
    date2.setDate(date1.getDate() + -n)
    return date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate() // 起始日期(N天前)
}
